//
//  MJststusOriganalVIewModel.swift
//  新浪微博
//
//  Created by MaJi on 16/4/13.
//  Copyright © 2016年 MaJi. All rights reserved.
//

import UIKit

class MJststusOriganalVIewModel: NSObject {

    //在初始化的时候 在init方法中会被赋值 以后再调用 就会在内存中获取 消耗内存 但是不消耗cpu
//     如果在这里赋值,就会在调用的时候再去加载,消耗CPU.一般我们选择消耗内存,现在内存比较大
    var status:MJStatues?
//    设置头像的url
    var iconUrl:NSURL?
    //设置用户等级
    var mbImage:UIImage?
    // 用户认证类型
    var verifiedImage:UIImage?
//    发布时间 //只读属性,进行实时更新
    var time:String? {
        return NSDate.sinaDate(status?.created_at ?? "")?.fullDescription()
    }
    //转发的文字
    var repostTitle: String?
    //评论的文字
    var commentTitle: String?
    //赞的文字
    var ohYeahTitle: String?
//    来源
    var source:String?
    init(status:MJStatues) {
//        保存值
        self.status = status
//        头像URl
        iconUrl = NSURL(string: status.user?.profile_image_url ?? "")
        super.init()
        //  设置用户等级
        let mbType = status.user?.mbrank ?? 0
//        var mbImage:UIImage?
            if mbType>0 && mbType<7 {//common_icon_membership_level1
                mbImage = UIImage(named: "common_icon_membership_level\(mbType)")
            }
//        self.dealSinaDate()
        
        //            用户认证类型
        let verifiedType:Int = status.user?.verified ?? 0
//        var verifiedImage:UIImage?
        switch verifiedType {
        case 1:
            verifiedImage = UIImage(named: "avatar_vip")
        case 2,3,5:
            verifiedImage = UIImage(named: "avatar_enterprise_vip")
        case 200:
            verifiedImage = UIImage(named: "avatar_grassroot")
        default:
            verifiedImage = nil
        }
        //           时间
        
        //            微博来源
//        let source = statues?.source
        //处理微博来源  <a href=\"http://app.weibo.com/t/feed/5yvsgq\" rel=\"nofollow\">TCL乐玩2C</a>
//        (Range(41..<43)) Range里面是Index,从第几个到第几个
        let starFlog = "\">"
        let endFlog = "</"
        let str = status.source
        if let range1 = str?.rangeOfString(starFlog),range2 = str?.rangeOfString(endFlog){
            
            let range = range1.endIndex..<range2.startIndex//注意不能是可选的值,不然不知道从哪截取,必须保证有值
            self.source = str?.substringWithRange(range)
        }
//        let range = range1?.endIndex..<range2?.startIndex
//        评论,转发,赞
        self.repostTitle = dealToolBarText(status.reposts_count, defaultTitle: "转发")
        self.commentTitle = dealToolBarText(status.comments_count, defaultTitle: "评论")
        self.ohYeahTitle = dealToolBarText(status.attitudes_count, defaultTitle: "赞")
    }
}

extension MJststusOriganalVIewModel{
    //    微博发布的时间
    private func dealToolBarText(count:Int , defaultTitle:String) -> String{
    
        if count <= 0{
            return defaultTitle
        }
        if count >= 10000{
            return "\(Double(count/1000)/10)"//保留以为小数
        }
        return "\(count)"
    }
//    微博发布的时间
//     func dealSinaDate(){
//        let DF = NSDateFormatter()
//        DF.dateFormat = "EEE MMM dd HH:mm:ss zzz yyyy"
//        //指定区域 不指定 在模拟器上 有时可以正常运行  但是 在真机会崩溃
//        DF.locale = NSLocale(localeIdentifier: "en")
//        
//        let timeDate = DF.dateFromString(status?.created_at ?? "")
//        DF.dateFormat = "yyyy MM dd HH:mm:ss"
//        self.time = DF.stringFromDate(timeDate!)
//    }
}

